<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  
  <title>数据预处理  sklearn 或者别的库.md | 蓝湖畔淅淅沥沥的雨</title>
  <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
  <meta name="description" content="说明 - 2022-05-05 本篇博客为本人原创, 原发布于CSDN, 在搭建个人博客后使用爬虫批量爬取并挂到个人博客, 出于一些技术原因博客未能完全还原到初始版本(而且我懒得修改), 在观看体验上会有一些瑕疵 ,若有需求会发布重制版总结性新博客。发布时间统一定为1111年11月11日。钦此。  无量纲化 sklearn.preprocessing.MinMaxScaler 数据归一化 （数据">
<meta property="og:type" content="article">
<meta property="og:title" content="数据预处理  sklearn 或者别的库.md">
<meta property="og:url" content="http://example.com/1111/11/11/%E6%95%B0%E6%8D%AE%E9%A2%84%E5%A4%84%E7%90%86%20%20sklearn%20%E6%88%96%E8%80%85%E5%88%AB%E7%9A%84%E5%BA%93/index.html">
<meta property="og:site_name" content="蓝湖畔淅淅沥沥的雨">
<meta property="og:description" content="说明 - 2022-05-05 本篇博客为本人原创, 原发布于CSDN, 在搭建个人博客后使用爬虫批量爬取并挂到个人博客, 出于一些技术原因博客未能完全还原到初始版本(而且我懒得修改), 在观看体验上会有一些瑕疵 ,若有需求会发布重制版总结性新博客。发布时间统一定为1111年11月11日。钦此。  无量纲化 sklearn.preprocessing.MinMaxScaler 数据归一化 （数据">
<meta property="og:locale" content="zh_CN">
<meta property="article:published_time" content="1111-11-11T03:06:11.000Z">
<meta property="article:modified_time" content="2022-05-06T08:18:19.046Z">
<meta property="article:author" content="StarsWhisper">
<meta property="article:tag" content="OldBlog(Before20220505)">
<meta property="article:tag" content="机器学习">
<meta name="twitter:card" content="summary">
  
    <link rel="alternate" href="/atom.xml" title="蓝湖畔淅淅沥沥的雨" type="application/atom+xml">
  
  
    <link rel="icon" href="/favicon.png">
  
  
    <link href="//fonts.googleapis.com/css?family=Source+Code+Pro" rel="stylesheet" type="text/css">
  
  
<link rel="stylesheet" href="/css/style.css">

  
<link rel="stylesheet" href="/plugin/bganimation/bg.css">

  

  <link href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.10.0/katex.min.css" rel="stylesheet" type="text/css">
<meta name="generator" content="Hexo 6.1.0"></head>

<body>
  <div id="container">
    <div id="wrap">
      <div class="outer">
        <div class="widget-wrap mobile-header">
  <h3 class="widget-title"></h3>
  <div class="widget">
    <img class="avatar" src="/images/avatar.png">
    <h2 class="author">StarsWhisper</h2>
    <h3 class="description"></h3>
    <div class="count-box">
      <a href="/archives"><div><strong>75</strong><br>文章</div></a>
      <a href="/categories"><div><strong>31</strong><br>分类</div></a>
      <a href="/tags"><div><strong>56</strong><br>标签</div></a>
    </div>
    <ul class="blog-link">
     
          <a href="/" title="Home">
            <li>主页</li>
          </a>
        
          <a href="/archives" title="Archives">
            <li>归档</li>
          </a>
        
          <a href="/categories" title="Categories">
            <li>分类</li>
          </a>
        
          <a href="/tags" title="Tags">
            <li>标签</li>
          </a>
        
          <a href="/knightabout" title="Knightabout">
            <li>关于</li>
          </a>
        
          <a href="/bridges" title="Bridges">
            <li>传送门</li>
          </a>
        
          <a href="/announcement" title="Announcement">
            <li>公告</li>
          </a>
        
    </ul>
  </div>
</div>

        <section id="main"><article id="post-数据预处理  sklearn 或者别的库" class="wow slideInRight article article-type-post" itemscope itemprop="blogPost">
  <div class="article-meta">
    <a href="/1111/11/11/%E6%95%B0%E6%8D%AE%E9%A2%84%E5%A4%84%E7%90%86%20%20sklearn%20%E6%88%96%E8%80%85%E5%88%AB%E7%9A%84%E5%BA%93/" class="article-date">
  <time class="post-time" datetime="1111-11-11T03:06:11.000Z" itemprop="datePublished">
    <span class="post-month">11月</span><br/>
    <span class="post-day">11</span>
  </time>
</a>
   
  </div>
  <div class="article-inner">
    
    
      <header class="article-header">
        
  
    <h1 class="article-title" itemprop="name">
      数据预处理  sklearn 或者别的库.md
    </h1>
  

        <div>
          
  <div class="article-category">
    <a class="article-category-link" href="/categories/%E6%95%99%E7%BB%83%E6%88%91%E6%83%B3%E5%AD%A6%E6%8C%82%E8%BE%B9%E8%BA%B2%E7%89%9B/">教练我想学挂边躲牛</a>,<a class="article-category-link" href="/categories/%E6%95%99%E7%BB%83%E6%88%91%E6%83%B3%E5%AD%A6%E6%8C%82%E8%BE%B9%E8%BA%B2%E7%89%9B/%E7%9E%8E%E5%AD%A6%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0/">瞎学机器学习</a>
  </div>

          
              

          
        </div>
      </header>
    
    <div class="article-entry" itemprop="articleBody">
      
        <h2 id="说明-2022-05-05"><a class="markdownIt-Anchor" href="#说明-2022-05-05"></a> 说明 - 2022-05-05</h2>
<p>本篇博客为本人原创, 原发布于CSDN, 在搭建个人博客后使用爬虫批量爬取并挂到个人博客, 出于一些技术原因博客未能完全还原到初始版本(而且我懒得修改), 在观看体验上会有一些瑕疵 ,若有需求会发布重制版总结性新博客。发布时间统一定为1111年11月11日。钦此。</p>
<h2 id="无量纲化"><a class="markdownIt-Anchor" href="#无量纲化"></a> 无量纲化</h2>
<p>sklearn.preprocessing.MinMaxScaler<br />
数据归一化<br />
（数据-最小值）/极差 把数据限制在0-1之间 范围可以改 feature_range</p>
<p>​</p>
<figure class="highlight python"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br></pre></td><td class="code"><pre><span class="line"><span class="keyword">from</span> sklearn.preprocessing <span class="keyword">import</span> MinMaxScaler</span><br><span class="line"></span><br><span class="line">data = [[-<span class="number">10</span>,<span class="number">16</span>],[-<span class="number">5</span>,<span class="number">32</span>],[<span class="number">0</span>,<span class="number">48</span>],[<span class="number">5</span>,<span class="number">64</span>]]</span><br><span class="line"></span><br><span class="line">scaler = MinMaxScaler(feature_range = [<span class="number">0</span>,<span class="number">2</span>])</span><br><span class="line">scaler = scaler.fit(data)</span><br><span class="line"><span class="comment">#scaler = scaler.partial_fit(data)</span></span><br><span class="line"></span><br><span class="line"><span class="comment">#进行数据归一化</span></span><br><span class="line">result = scaler.transform(data)</span><br><span class="line"></span><br><span class="line"><span class="comment">#利用归一化结果还原原数据</span></span><br><span class="line">origin = scaler.inverse_transform(result)</span><br><span class="line"></span><br><span class="line"><span class="comment">#一步</span></span><br><span class="line">result2 = scaler.fit_transform(data)</span><br></pre></td></tr></table></figure>
<p>​</p>
<p>sklearn.preprocessing.StandardScaler<br />
数据标准化<br />
中心化后 x-均值（均值为零）/标准差<br />
之后满足均值0方差1 的正态分布</p>
<p>​</p>
<figure class="highlight python"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br></pre></td><td class="code"><pre><span class="line"><span class="keyword">from</span> sklearn.preprocessing <span class="keyword">import</span> StandardScaler</span><br><span class="line"></span><br><span class="line">data = [[-<span class="number">10</span>,<span class="number">16</span>],[-<span class="number">5</span>,<span class="number">32</span>],[<span class="number">0</span>,<span class="number">48</span>],[<span class="number">5</span>,<span class="number">64</span>]]</span><br><span class="line"></span><br><span class="line">scaler = StandardScaler()</span><br><span class="line">scaler.fit(data)</span><br><span class="line"></span><br><span class="line"><span class="comment">#mean_均值, var_方差</span></span><br><span class="line"><span class="built_in">print</span>(scaler.mean_, scaler.var_)</span><br><span class="line"></span><br><span class="line">result = scaler.transform(data)</span><br><span class="line"><span class="built_in">print</span>(result.mean(), result.std())</span><br><span class="line"><span class="comment">#转化后服从均值为0方差为1的正态分布</span></span><br><span class="line"></span><br><span class="line">origin =  scaler.inverse_transform(result)</span><br><span class="line"></span><br><span class="line"><span class="comment">#一步</span></span><br><span class="line">result2 = scaler.fit_transform(data)</span><br></pre></td></tr></table></figure>
<p>sklearn.preprocessing.MaxAbsScaler<br />
所有数据/abs（绝对值最大的值）</p>
<p>​</p>
<figure class="highlight python"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br></pre></td><td class="code"><pre><span class="line"><span class="keyword">from</span> sklearn.preprocessing <span class="keyword">import</span> MaxAbsScaler</span><br><span class="line"></span><br><span class="line">data = [[-<span class="number">10</span>,<span class="number">8</span>],[-<span class="number">5</span>,<span class="number">16</span>],[<span class="number">0</span>,<span class="number">24</span>],[<span class="number">5</span>,<span class="number">32</span>]]</span><br><span class="line"></span><br><span class="line">scaler = MaxAbsScaler()</span><br><span class="line">scaler = scaler.fit(data)</span><br><span class="line">result = scaler.transform(data)</span><br><span class="line"></span><br><span class="line">origin = scaler.inverse_transform(result)</span><br><span class="line"></span><br><span class="line"><span class="comment">#一步</span></span><br><span class="line">result2 = scaler.fit_transform(data)</span><br></pre></td></tr></table></figure>
<h2 id="缺失值"><a class="markdownIt-Anchor" href="#缺失值"></a> 缺失值</h2>
<p>​</p>
<figure class="highlight python"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br><span class="line">23</span><br><span class="line">24</span><br><span class="line">25</span><br><span class="line">26</span><br><span class="line">27</span><br></pre></td><td class="code"><pre><span class="line"><span class="keyword">import</span> pandas <span class="keyword">as</span> pd</span><br><span class="line"><span class="keyword">import</span> numpy <span class="keyword">as</span> np</span><br><span class="line"></span><br><span class="line"><span class="comment"># 从excel表导入数据</span></span><br><span class="line">df_t = pd.read_excel(<span class="string">r&#x27;D:\EdgeDownloadPlace\3dd40612152202ee8440f82a3d277008\train.xlsx&#x27;</span>)</span><br><span class="line"></span><br><span class="line"><span class="built_in">print</span>(df_t.info())</span><br><span class="line"></span><br><span class="line"><span class="comment"># 提取列 所有</span></span><br><span class="line"><span class="built_in">print</span>(df_t.loc[:,<span class="string">&#x27;uid&#x27;</span>])</span><br><span class="line"></span><br><span class="line">arr_t_uid = df_t.loc[:,<span class="string">&#x27;uid&#x27;</span>].values</span><br><span class="line"></span><br><span class="line"><span class="comment">#转换成二维</span></span><br><span class="line">arr_t_uid = arr_t_uid.reshape(-<span class="number">1</span>,<span class="number">1</span>)</span><br><span class="line"></span><br><span class="line"><span class="comment">#找到ca列中为？的行</span></span><br><span class="line">ca_wenhao =df_t[df_t.loc[:,<span class="string">&#x27;ca&#x27;</span>]==<span class="string">&#x27;?&#x27;</span>]</span><br><span class="line"></span><br><span class="line"><span class="comment">#替换ca列的？为x</span></span><br><span class="line">df_t[<span class="string">&#x27;ca&#x27;</span>][df_t[<span class="string">&#x27;ca&#x27;</span>]==<span class="string">&#x27;?&#x27;</span>] = <span class="string">&#x27;x&#x27;</span></span><br><span class="line"></span><br><span class="line"><span class="built_in">print</span>(<span class="string">&#x27;中位数&#x27;</span>,df_t.loc[:,<span class="string">&#x27;age&#x27;</span>].median())</span><br><span class="line"><span class="built_in">print</span>(<span class="string">&#x27;平均数&#x27;</span>,df_t.loc[:,<span class="string">&#x27;age&#x27;</span>].mean())</span><br><span class="line"><span class="built_in">print</span>(<span class="string">&#x27;众数&#x27;</span>,df_t.loc[:,<span class="string">&#x27;age&#x27;</span>].mode())</span><br><span class="line">cnt =df_t.loc[:,<span class="string">&#x27;age&#x27;</span>].value_counts() <span class="comment">#把所有的值计数 降序排序</span></span><br><span class="line">idx = cnt.index <span class="comment">#结果降序排序</span></span><br></pre></td></tr></table></figure>
<p>​</p>
<p>此数据缺失值用？代表 ，直接把？换了。<br />
如果缺失值为nan 可以直接用pd.drowna() 或pd.fillna()</p>
<h2 id="编码-哑变量-处理分类数据用"><a class="markdownIt-Anchor" href="#编码-哑变量-处理分类数据用"></a> 编码 哑变量 ---- 处理分类数据用</h2>
<p>​</p>
<figure class="highlight python"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br><span class="line">23</span><br><span class="line">24</span><br><span class="line">25</span><br><span class="line">26</span><br><span class="line">27</span><br><span class="line">28</span><br><span class="line">29</span><br></pre></td><td class="code"><pre><span class="line"><span class="keyword">import</span> pandas <span class="keyword">as</span> pd</span><br><span class="line"><span class="keyword">import</span> numpy <span class="keyword">as</span> np</span><br><span class="line"><span class="keyword">from</span> sklearn.preprocessing <span class="keyword">import</span> LabelEncoder</span><br><span class="line"><span class="keyword">from</span> sklearn.preprocessing <span class="keyword">import</span> OrdinalEncoder</span><br><span class="line"><span class="keyword">from</span> sklearn.preprocessing <span class="keyword">import</span> OneHotEncoder</span><br><span class="line"></span><br><span class="line">df_t = pd.read_excel(<span class="string">r&#x27;D:\EdgeDownloadPlace\大数据比赛测试示例\训练集.xlsx&#x27;</span>)</span><br><span class="line"><span class="comment">#删掉 ‘Embarked’列有缺失值的行</span></span><br><span class="line">df_t.dropna(axis = <span class="number">0</span> , subset = [<span class="string">&#x27;Embarked&#x27;</span>], inplace = <span class="literal">True</span>)</span><br><span class="line"></span><br><span class="line"><span class="comment">#一维</span></span><br><span class="line">LE = LabelEncoder()</span><br><span class="line">LElabel = LE.fit_transform(df_t[<span class="string">&#x27;Embarked&#x27;</span>].astype(np.<span class="built_in">str</span>))</span><br><span class="line"></span><br><span class="line"><span class="comment">#多维</span></span><br><span class="line">OE= OrdinalEncoder()</span><br><span class="line">OElabel = OE.fit_transform(df_t.loc[:,[<span class="string">&#x27;Sex&#x27;</span>,<span class="string">&#x27;Embarked&#x27;</span>]])</span><br><span class="line"></span><br><span class="line"><span class="comment">#独热编码</span></span><br><span class="line">OHE = OneHotEncoder(categories = <span class="string">&#x27;auto&#x27;</span>)</span><br><span class="line">OHElabel = OHE.fit_transform(df_t.loc[:,[<span class="string">&#x27;Sex&#x27;</span>,<span class="string">&#x27;Embarked&#x27;</span>]])</span><br><span class="line">df_ttt = pd.concat([df_t,pd.DataFrame(OHElabel.toarray())],axis = <span class="number">1</span>)</span><br><span class="line">df_ttt.columns = df_t.columns.tolist()+OHE.get_feature_names().tolist()</span><br><span class="line"></span><br><span class="line"><span class="built_in">print</span>(LE.classes_,OE.categories_,OHE.categories_,sep=<span class="string">&#x27;\n&#x27;</span>)</span><br><span class="line"></span><br><span class="line">rLE = LE.inverse_transform(LElabel)</span><br><span class="line">rOE = OE.inverse_transform(OElabel)</span><br><span class="line">rOHE = OHE.inverse_transform(OHElabel)</span><br></pre></td></tr></table></figure>
<h2 id="二值化-分箱-连续数据"><a class="markdownIt-Anchor" href="#二值化-分箱-连续数据"></a> 二值化 分箱 ----连续数据</h2>
<p>​</p>
<figure class="highlight python"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br></pre></td><td class="code"><pre><span class="line"><span class="keyword">import</span> pandas <span class="keyword">as</span> pd</span><br><span class="line"><span class="keyword">import</span> numpy <span class="keyword">as</span> np</span><br><span class="line"><span class="keyword">from</span> sklearn.preprocessing <span class="keyword">import</span> Binarizer</span><br><span class="line"><span class="keyword">from</span> sklearn.preprocessing <span class="keyword">import</span> KBinsDiscretizer</span><br><span class="line"></span><br><span class="line">df_t = pd.read_excel(<span class="string">r&#x27;D:\EdgeDownloadPlace\大数据比赛测试示例\训练集.xlsx&#x27;</span>)</span><br><span class="line"></span><br><span class="line">df_t.fillna(df_t.loc[:,<span class="string">&#x27;Age&#x27;</span>].value_counts().index[<span class="number">0</span>],axis = <span class="number">1</span>,inplace = <span class="literal">True</span>)</span><br><span class="line">age_t = df_t[<span class="string">&#x27;Age&#x27;</span>].values.reshape(-<span class="number">1</span>,<span class="number">1</span>)</span><br><span class="line"></span><br><span class="line">B = Binarizer(threshold= <span class="number">24</span>)</span><br><span class="line">result = B.fit_transform(age_t)</span><br></pre></td></tr></table></figure>
<p>​</p>
<figure class="highlight python"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br></pre></td><td class="code"><pre><span class="line"><span class="comment">#参数 encode：ordinal onehot 参考分类</span></span><br><span class="line"><span class="comment">#参数 strategy： uniform 等宽分箱(平分特征)  quantile等位分箱(分箱后每箱数量一致)  kmeans按聚类分箱</span></span><br><span class="line">KBD_ordinal = KBinsDiscretizer(n_bins = <span class="number">5</span>, encode = <span class="string">&#x27;ordinal&#x27;</span>, strategy= <span class="string">&#x27;uniform&#x27;</span>)</span><br><span class="line">KBDresult_ordinal = KBD_ordinal.fit_transform(age_t)</span><br><span class="line"><span class="built_in">print</span>(KBDresult_ordinal.ravel())<span class="comment">#ravel()的作用是降维</span></span><br><span class="line"></span><br><span class="line">KBD_onehot = KBinsDiscretizer(n_bins = <span class="number">5</span>, encode = <span class="string">&#x27;onehot&#x27;</span>, strategy= <span class="string">&#x27;uniform&#x27;</span>)</span><br><span class="line">KBDresult_onehot = KBD_onehot.fit_transform(age_t)</span><br><span class="line"><span class="built_in">print</span>(KBDresult_onehot.toarray())</span><br></pre></td></tr></table></figure>

      
    </div>
    <footer class="article-footer">
      <a data-url="http://example.com/1111/11/11/%E6%95%B0%E6%8D%AE%E9%A2%84%E5%A4%84%E7%90%86%20%20sklearn%20%E6%88%96%E8%80%85%E5%88%AB%E7%9A%84%E5%BA%93/" data-id="cl2uhoedg0054e4j3gjn96u93" class="article-share-link">分享</a>
      
      
  <ul class="article-tag-list" itemprop="keywords"><li class="article-tag-list-item"><a class="article-tag-list-link" href="/tags/OldBlog-Before20220505/" rel="tag">OldBlog(Before20220505)</a></li><li class="article-tag-list-item"><a class="article-tag-list-link" href="/tags/%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0/" rel="tag">机器学习</a></li></ul>

    </footer>
  </div>
  
    
<nav id="article-nav">
  
    <a href="/1111/11/11/%E5%8F%AF%E6%8C%81%E4%B9%85%E5%8C%96%E7%BA%BF%E6%AE%B5%E6%A0%91%E3%80%90%E4%B8%BB%E5%B8%AD%E6%A0%91%E3%80%91%E5%8F%AF%E6%8C%81%E4%B9%85%E5%8C%96%E5%B9%B6%E6%9F%A5%E9%9B%86%E3%80%90%E4%B8%BB%E5%B8%AD%E6%A0%91+%E5%B9%B6%E6%9F%A5%E9%9B%86%E3%80%91/" id="article-nav-newer" class="article-nav-link-wrap">
      <strong class="article-nav-caption">上一篇</strong>
      <div class="article-nav-title">
        
          可持久化线段树【主席树】可持久化并查集【主席树+并查集】.md
        
      </div>
    </a>
  
  
    <a href="/1111/11/11/%E5%AD%A6%E4%B9%A0%E5%9C%A8ECS%E4%B8%8A%E5%AE%9E%E7%8E%B0%E5%AE%9A%E6%9C%9F%E6%89%A7%E8%A1%8C%E5%9C%A8%E5%AD%A6%E6%A0%A1%E5%AE%98%E7%BD%91%E5%8F%91%E5%B8%96%E5%AD%90%E7%AD%BE%E5%88%B0%E7%9A%84py%E8%84%9A%E6%9C%AC/" id="article-nav-older" class="article-nav-link-wrap">
      <strong class="article-nav-caption">下一篇</strong>
      <div class="article-nav-title">学习在ECS上实现定期执行在学校官网发帖子签到的py脚本.md</div>
    </a>
  
</nav>

  
</article>



</section>
        
          <aside id="sidebar">
  
    <div class="widget-wrap">
  <h3 class="widget-title"></h3>
  <div class="widget">
    <h1 class="blog-title">蓝湖畔淅淅沥沥的雨</h1>
    <h2 class="blog-subtitle">All tragedy erased, I see only wonders...</h2>
    <ul class="blog-link">
     
          <a href="/" title="Home">
            <li>主页</li>
          </a>
        
          <a href="/archives" title="Archives">
            <li>归档</li>
          </a>
        
          <a href="/categories" title="Categories">
            <li>分类</li>
          </a>
        
          <a href="/tags" title="Tags">
            <li>标签</li>
          </a>
        
          <a href="/knightabout" title="Knightabout">
            <li>关于</li>
          </a>
        
          <a href="/bridges" title="Bridges">
            <li>传送门</li>
          </a>
        
          <a href="/announcement" title="Announcement">
            <li>公告</li>
          </a>
        
    </ul>
  </div>
</div>

  
    <div class="widget-wrap">
  <h3 class="widget-title"></h3>
  <div class="widget">
    <img class="avatar" src="/images/avatar.png">
    <h2 class="author">StarsWhisper</h2>
    <h3 class="description"></h3>
    <div class="count-box">
      <a href="/archives"><div><strong>75</strong><br>文章</div></a>
      <a href="/categories"><div><strong>31</strong><br>分类</div></a>
      <a href="/tags"><div><strong>56</strong><br>标签</div></a>
    </div>



    <div class="social-link">
      
        <a class="hvr-bounce-in" href="https://github.com/Wldcmzy" target="_blank" title="Github">
          Github
        </a>
      
        <a class="hvr-bounce-in" href="https://blog.csdn.net/wldcmzy" target="_blank" title="CSDN">
          CSDN
        </a>
      
        <a class="hvr-bounce-in" href="https://space.bilibili.com/83743701" target="_blank" title="bilibili(无技术和学习内容)">
          bilibili(无技术和学习内容)
        </a>
      
    </div>

    <div class="friend-link">
      <h2>友情链接</h2>
      
        <a class="hvr-bounce-in" href="https://shanamaid.github.io/" target="_blank" title="夏娜主题作者的博客">
          夏娜主题作者的博客
        </a>
      
    </div>
  </div>
</div>

  
</aside>
        
      </div>
      <footer id="footer">
  
  <div class="outer">
    <div id="footer-info" class="inner">
      &copy;2021 - 2022 StarsWhisper<br>
      由<a href="http://hexo.io/" target="_blank">Hexo</a>强力驱动 | 
      主题-<a target="_blank" rel="noopener" href="https://github.com/ShanaMaid/hexo-theme-shana">Shana</a>(但是魔改)
      
    </div>
    
  </div>
</footer>
    </div>
    

<script src="//apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js"></script>
<script src="//apps.bdimg.com/libs/wow/0.1.6/wow.min.js"></script>
<script>
new WOW().init();
</script>   


  
<link rel="stylesheet" href="/plugin/fancybox/jquery.fancybox.css">

  
<script src="/plugin/fancybox/jquery.fancybox.pack.js"></script>




  
<link rel="stylesheet" href="/plugin/galmenu/GalMenu.css">

  
<script src="/plugin/galmenu/GalMenu.js"></script>

  <div class="GalMenu GalDropDown">
      <div class="circle" id="gal">
        <div class="ring">
          
            <a href="/announcement" title="" class="menuItem">公告</a>
          
            <a href="/tags" title="" class="menuItem">标签</a>
          
            <a href="/categories" title="" class="menuItem">分类</a>
          
            <a href="/archives" title="" class="menuItem">归档</a>
          
            <a href="/knightabout" title="" class="menuItem">关于</a>
          
            <a href="/bridges" title="" class="menuItem">传送门</a>
          
        </div>
        
          <audio id="audio" src="#"></audio>
        
      </div> 
</div>
<div id="overlay" style="opacity: 1; cursor: pointer;"></div>
  <script type="text/javascript">var items = document.querySelectorAll('.menuItem');
    for (var i = 0,
    l = items.length; i < l; i++) {
      items[i].style.left = (50 - 35 * Math.cos( - 0.5 * Math.PI - 2 * (1 / l) * i * Math.PI)).toFixed(4) + "%";
      items[i].style.top = (50 + 35 * Math.sin( - 0.5 * Math.PI - 2 * (1 / l) * i * Math.PI)).toFixed(4) + "%"
    }</script>
<script type="text/javascript">
  $(document).ready(function() {
    $('body').GalMenu({
      'menu': 'GalDropDown'
    })
  });
</script>

  <section class="hidden-xs"> 
  <ul class="cb-slideshow"> 
    <li><span>苟利</span></li> 
    <li><span>国家</span></li> 
    <li><span>生死以</span></li> 
    <li><span>岂能</span></li> 
    <li><span>祸福</span></li> 
    <li><span>趋避之</span></li> 
  </ul>
</section>

<script src="/js/script.js"></script>




  </div>
</body>
</html>